package com.smile.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smile.model.dto.request.GetInspectionTaskByFlightIdRequestDTO;
import com.smile.model.dto.request.GetInspectionTaskDetailRequestDTO;
import com.smile.model.dto.request.GetInspectionTaskListRequestDTO;
import com.smile.model.response.response.GetInspectionTaskByFlightIdResponseDTO;
import com.smile.model.response.response.GetInspectionTaskDetailResponseDTO;
import com.smile.model.response.response.GetInspectionTaskListResponseDTO;

public interface InspectionTaskService {

    Page<GetInspectionTaskListResponseDTO> getInspectionTaskList(GetInspectionTaskListRequestDTO getInspectionTaskListRequestDTO);

    GetInspectionTaskDetailResponseDTO getInspectionTaskDetail(GetInspectionTaskDetailRequestDTO getInspectionTaskListRequestDTO);
    Boolean cancelExecute(GetInspectionTaskDetailRequestDTO getInspectionTaskListRequestDTO);

    GetInspectionTaskByFlightIdResponseDTO getInspectionTaskByFlightId(GetInspectionTaskByFlightIdRequestDTO getInspectionTaskByFlightIdRequestDTO);

    /**
     * 更新巡检任务状态
     * @param organizationId 组织id
     * @param status 1-待执行 2-执行中 3-已取消 4-已完成
     */
    void updateTaskStatus(Long organizationId, Integer status);
}
